Synapse, odeslani mailu

Otázka od: Pave Gazda

30. 9. 2004 9:38

Zdravim,

zkousim odesilat mail pomoci Synapse. Celkem mi to jiz funguje, ale
neni dorucena zprava na jednu z adres a neni ani vracena zadna chyba.
Pri pokusu o odeslani mailu na tuto adresu pomoci Outlook Express je vracena
chyba:

*********
Zpravu nelze odeslat, protoze jeden z prijemcu byl serverem odmitnut.
Adresa odmitnuteho prijemce je xxx@xxx.org
Predmet 'test posty', ucet: 'uuu', Server: 'sss.sss.cz', Protokol: SMTP,
Odezva serveru: '553 sorry, that domain isn't in my list of allowed
rcpthosts (#5.7.1)',
Port: 25, Zabezpeceni (SSL): Ne, Chyba serveru: 553, cislo chyby: 0x800CCC79
*********
Jak dostanu stejnou chybu ze Synapse??
Predem diky za kazde nakopnuti

Pavel
placeny amater



Odpovedá: Lukas Gebauer

30. 9. 2004 10:18

> zkousim odesilat mail pomoci Synapse. Celkem mi to jiz funguje, ale
> neni dorucena zprava na jednu z adres a neni ani vracena zadna chyba.
> Pri pokusu o odeslani mailu na tuto adresu pomoci Outlook Express je
> vracena chyba:
>
> Jak dostanu stejnou chybu ze Synapse??

Patrne neodesilas mail primym pouzivanim objektu TSmtpSend, ale
nejakou z ukazkovych funkci SendTo*.

Resenim je si napsat svoji odesilaci funkci po vzoru tech mych funkci
SendTo*. Tam, kde se kazda adresa prijemce zadava pomoci opakovaneho
volani metody TSmtpSend.MailTo, si budes hlidat navratovou hodnotu
teto metody. V pripade neuspachu nalezeznes v properties ResultCode a
ResultString duvod odmitnuti adresy adresata. Tyto chyby si pak
osetri jak chces, jak to vyhovuje nejlepe tve aplikaci.


--
Lukas Gebauer.

E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Ararat Synapse - TCP/IP Lib.


Odpovedá: Pave Gazda

30. 9. 2004 10:22

>> Pri pokusu o odeslani mailu na tuto adresu pomoci Outlook Express je
>> vracena chyba:
>>
>> Jak dostanu stejnou chybu ze Synapse??
>
> Patrne neodesilas mail primym pouzivanim objektu TSmtpSend, ale
> nejakou z ukazkovych funkci SendTo*.
>

to jsem jiz udelal:

// zpracovani prijemcu ( je jen jeden )
      s := ATo;
      repeat
        t := GetEmailAddr(FetchEx(s, ',', '"'));
        if t <> '' then
          Vysledek := SMTPArr[SMTPCis].MailTo(t);
        if not Vysledek then
        begin
// hlaseni pripadne chyby - nic nehlasi
          ShowMessage('Odmitnuto '+ATo);
          ShowMessage(SMTPArr[SMTPCis].ResultString);
          Break;
        end;

// adresy OK - tvari se ze jo
        ShowMessage('Proslo '+ATo);
        ShowMessage(SMTPArr[SMTPCis].ResultString);

      until s = '';


// odeslani mailu

      if Vysledek then
      begin
        Vysledek := Integer(SMTPArr[SMTPCis].MailData(L));

// opet hlaseni ze je vse OK
        ShowMessage('Odeslano '+ATo);
        ShowMessage(SMTPArr[SMTPCis].ResultString);
      end;

Pavel



Odpovedá: Lukas Gebauer

30. 9. 2004 10:32

> Vysledek := SMTPArr[SMTPCis].MailTo(t);
> if not Vysledek then
> begin
> // hlaseni pripadne chyby - nic nehlasi
> ShowMessage('Odmitnuto '+ATo);
> ShowMessage(SMTPArr[SMTPCis].ResultString);
> Break;
> end;

Pak to znamena, ze server tu adresu prijmul... kdyz se podivas do
zdrojaku, jak je ta metoda MailTo npsana, tak zjistyis, ze vraci TRUE
jen kdyz je vysledny kod roven prave a jen 250. Vratil-li by server
550, nemohl by byt vyseldek TRUE.

Opravdu to posilas stejne jako ten Outlook, tedy na stejny server i s
uplne stejnou adresou odesilatele?



--
Lukas Gebauer.

E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Ararat Synapse - TCP/IP Lib.


Odpovedá: Pave Gazda

30. 9. 2004 11:10

Omlouvam se, mel jsem spatne nastavene prihlaseni k serveru.

Problem je ted jiny: Outlook to odesle a zprava take dojde,
ale Synapse (muj program) zpravu odesle ale ta nedojde.
( odeslani na jinou adresu stejnym postupem funguje ).
V cem by mohl byt problem?
Pavel

>
> Opravdu to posilas stejne jako ten Outlook, tedy na stejny server i s
> uplne stejnou adresou odesilatele?
>
> --
> Lukas Gebauer.
>



Odpovedá: Lukas Gebauer

1. 10. 2004 12:37

> Problem je ted jiny: Outlook to odesle a zprava take dojde,
> ale Synapse (muj program) zpravu odesle ale ta nedojde.
> ( odeslani na jinou adresu stejnym postupem funguje ).

A to i v pripade, ze vsechny kroky odesilani neskoncily chybou? V
takovem pripade se pak tezko usuzuje pricina.
Co rika log na postovnim serveru?


--
Lukas Gebauer.

E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Ararat Synapse - TCP/IP Lib.


Odpovedá: Pave Gazda

11. 10. 2004 9:02

Uz jsem na to prisel.

>> Problem je ted jiny: Outlook to odesle a zprava take dojde,
>> ale Synapse (muj program) zpravu odesle ale ta nedojde.
>> ( odeslani na jinou adresu stejnym postupem funguje ).
>
> A to i v pripade, ze vsechny kroky odesilani neskoncily chybou? V
> takovem pripade se pak tezko usuzuje pricina.
> Co rika log na postovnim serveru?

Problem byl v zadani udaje pro SMTPsend.MailFrom.
Skoda, ze SMTP server v takovem pripade nevratil chybu a navic
nekdy zpravu dorucil.

Pavel